package main

import (
	"fmt"
	"net"
	"os"
	"time"
)

func main() {
	service := ":7777"
	tcpAddr, err := net.ResolveTCPAddr("tcp4", service) //返回一个tcp4的地址
	checkError(err)
	conn, err := net.DialTCP("tcp", nil, tcpAddr) //监听地址
	checkError(err)
	defer conn.Close()
	go func() {
		buffer := make([]byte, 2048) //创建一个byte数组用于读取内容
		for {
			conn.Write([]byte(time.Now().String() + " Hello World")) //向服务端发送数据
			n, err := conn.Read(buffer[0:])                          //读取服务端内容此处会阻塞当前线程
			if err != nil && err.Error() != "EOF" {
				checkError(err)
			}
			println("客户端接收", string(buffer[:n]))
		}
	}()
	for {
		time.Sleep(time.Second)
		//向服务端返回内容
		//conn.Write([]byte(time.Now().String() + " Hello World"))
	}
}
func checkError(err error) {
	if err != nil {
		fmt.Fprintf(os.Stderr, "Fatal error: %s", err.Error())
		os.Exit(1)
	}
}
